package juego.vistas;

import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.File;

import javax.imageio.ImageIO;

import principal.Constantes;

import ar.uba.fi.algo3.titiritero.Posicionable;
import ar.uba.fi.algo3.titiritero.SuperficieDeDibujo;
import ar.uba.fi.algo3.titiritero.vista.Imagen;

public abstract class Vista extends Imagen implements IVista {
	private BufferedImage imagen;	
	
	public Vista(SuperficieDeDibujo superficie, Posicionable posicionable) {;	
		this.setPosicionable(posicionable);		
	}		
	
	public void dibujar(SuperficieDeDibujo superficeDeDibujo) {
		int x = (int)Math.rint(getPosicionable().getX() * Constantes.TAMANIO_CASILLA);
		int y = (int)Math.rint(getPosicionable().getY() * Constantes.TAMANIO_CASILLA);		
		Graphics grafico = (Graphics)superficeDeDibujo.getBuffer();
		grafico.drawImage(this.imagen, x, y, null);
	}

	public void setNombreArchivoImagen(String nombreArchivoImagen) {
		try {
			File f = new File(nombreArchivoImagen);			
			this.imagen = ImageIO.read(f);			
		} catch(Exception ex) {
			System.out.println("Error cargando la imagen: " + nombreArchivoImagen);
		}			
	}
}
